package com.wetao.lib_common.common.contract;



import com.wetao.lib_common.base.BaseListResponse;
import com.wetao.lib_common.base.BasePresenter;
import com.wetao.lib_common.base.BaseResponse;
import com.wetao.lib_common.base.BaseViewImp;
import com.wetao.lib_common.bean.response.AppVersionInfo;
import com.wetao.lib_common.bean.response.GetSubjectList;
import com.wetao.lib_common.bean.response.Loginbean;

import java.util.HashMap;

/**
 * LoginContract
 */
public interface LoginContract {

    //方法命名以 请求方法+Result  命名
    interface View extends BaseViewImp {

        void getLoginResult(BaseResponse<Loginbean> data);
        void getLoginError();

        void getSubjectListResult(BaseListResponse<GetSubjectList> data);
        void getSubjectListFail();

        void getClientVersionResult(BaseResponse<AppVersionInfo> data);
        void getClientVersionError();

    }

    //方法命名以 get+方法  命名
    abstract class Presenter extends BasePresenter<View> {

        public abstract void getLogin(HashMap<String, String> map, boolean isDialog, boolean cancelable);

        public abstract void getSubjectList(HashMap<String, String> map, boolean isDialog, boolean cancelable);
        public abstract void getClientVersionInfo(HashMap<String, Object> map, boolean isDialog, boolean cancelable);

    }
}
